Method, system and mobile device for prioritizing a discovered device list

ABSTRACT

The described embodiments relate generally to methods, systems and computing devices, including at least a mobile device, for ordering a discovered device list according to a Received Signal Strength Indication (RSSI) of each device in the discovered device list. Thus, the discovered device list has at the top of the list the device that has the highest RSSI, with the remaining devices in the discovered device list presented in descending order of RSSI.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is continuation of U.S. patent application Ser. No.14/167,164 filed on Jan. 29, 2014, which is a continuation of U.S.patent application Ser. No. 13/749,875 filed on Jan. 25, 2013 (issued asU.S. Pat. No. 8,676,130), which is a continuation of U.S. patentapplication Ser. No. 12/815,701 filed on Jun. 15, 2010 (issued as U.S.Pat. No. 8,364,088), which is a continuation of U.S. patent applicationSer. No. 11/693,385 filed on Mar. 29, 2007 (issued as U.S. Pat. No.7,747,223). The entirety of each of the above-referenced applicationsare hereby incorporated by reference.

TECHNICAL FIELD

The described embodiments relate to methods, systems and mobile devicesfor prioritizing a discovered device list. In particular, the methods,systems and mobile devices are prioritized in the discovered device listbased on the received signal strength of signals received from deviceswithin a Wireless Personal Area Network (WPAN).

BACKGROUND

For computing devices employing a WPAN technology, it is possible tocommunicate with other devices in a local area, provided such devicesare similarly enabled for WPAN communication. In order for devices tocommunicate with each other within a WPAN, it is necessary to form aconnection between the devices, so that they recognize each other.

There are many different varieties of devices that are enabled forcommunication in a WPAN environment. Some such devices are sophisticatedenough to be able to initiate formation of a connection with anotherdevice in the WPAN, while other devices are not. Devices that caninitiate formation of a connection will generally maintain a list ofdevices with which a connection has been formed. In order to add a newdevice to the list of connected devices, it is necessary to search theWPAN area to find all “discoverable” devices, i.e. those devices withwhich the searching device can be connected for communication within theWPAN. In a densely populated WPAN, a large number of devices may bediscovered in the search. In existing WPAN technologies, when searchingfor discoverable devices, the searching device will present a list ofall discovered devices to the user so that the user can select onedevice for connecting with the searching device. The list presented tothe user is ordered according to the time at which a response wasreceived, with the device that first responded to the search beinglisted first in the list of discovered devices.

Once all discoverable devices in the WPAN area have responded to thesearch and are listed in the discovered device list, the searchingdevice then communicates with each device in sequence to determine the“friendly name” of the device. The friendly name of the device may be aname given to that device by its user, such as “Fred's laptop”, “Sarah'sheadset” or “Jack's cell phone”. The friendly name of the device isoften the only way that a user can recognize which device among the manylisted is the one that the user wants to connect his or her device with.Obtaining the friendly name of each device can take a few seconds, so itcan take some time to retrieve all of the friendly names so that a usercan select the correct device with which to initiate formation of aconnection.

The described embodiments attempt to address or ameliorate one or moreshortcomings or disadvantages associated with existing WPANtechnologies, or to at least provide a useful alternative thereto.

BRIEF DESCRIPTION OF THE DRAWINGS

Features and functions of the embodiments are described in furtherdetail below, with reference to the accompanying drawings, and by way ofexample, wherein:

FIG. 1 is a block diagram of a mobile device communicating with otherdevices in a WPAN environment;

FIG. 2 is a block diagram of an exemplary embodiment of a mobile device;

FIG. 3 is a block diagram of an exemplary embodiment of a communicationsubsystem of the mobile device of FIG. 2;

FIG. 4 is a block diagram showing certain components of the mobiledevice of FIG. 2 in greater detail;

FIG. 5 is a flow chart of a method of ordering a discovered device list;

FIG. 6 is an example screen shot of a display of a list of discovereddevices where the discovered devices are not named; and

FIG. 7 is a further example screen shot of a display of the list ofdiscovered devices, where some of the discovered devices are named.

DETAILED DESCRIPTION

The embodiments described herein relate generally to methods, systemsand computing devices, including at least a mobile device, forprioritizing a discovered device list according to a Received SignalStrength Indication (RSSI) of each device in the discovered device list.Thus, the discovered device list has at the top of the list the devicethat has the highest RSSI, with the remaining devices in the discovereddevice list presented in descending order of RSSI.

The embodiments described herein assume that the device displaying thediscovered device list is configured to initiate a search for discovereddevices within a WPAN area and to initiate formation of a connectionwith one such discovered device. For simplicity of description andillustration, we will refer to the device configured to search and pairwith other devices as the searching device. Further, as one example of asearching device, we will describe the embodiments as applied in thecontext of the searching device being a mobile device, although thesearching device may be any other suitable computing device, such as alaptop computer or desktop computer, capable of searching for discovereddevices and initiating formation of a connection with one such device.

Certain embodiments relate to a method of ordering a list of discovereddevices in a wireless personal area network (WPAN), comprising:receiving at a first device a plurality of wireless device signals fromrespective devices in the WPAN; determining a received signal strengthof each of the wireless device signals; and displaying on a display ofthe first device a list of devices corresponding to the devices fromwhich the wireless device signals were received, wherein the devices inthe list are ordered according to the received signal strength of thewireless device signal of the respective device.

The wireless device signals may be received in response to a page signaltransmitted from the first device. The first device may transmit thepage signal in response to a selection on the first device to add one ofthe plurality of devices to a connected device list.

The method may further comprise requesting by the first device a name ofeach device in the list in sequence from the top of the list to thebottom of the list until all device names have been received for theplurality of the devices or until a selection is made that cancelsrequesting the device names, wherein once the name of a respectivedevice is received by the first device, the name of the device isdisplayed in the list on the display. The selection may compriseselecting a named device in the list of devices. The method may furthercomprise initiating a device connection between the first device and thenamed device in response to the selection.

The method may further comprise determining a device identifier and adevice class of each of the plurality of devices based on the respectivewireless device signals. For devices in the list having a same receivedsignal strength, such devices may be ordered in the list according tothe device class of each such device. An icon may be displayed for eachdevice in the list, the icon corresponding to the device class of therespective device.

The first device may be a mobile device or a personal computer. Acommunication technology of the WPAN may be selected from the groupconsisting of: Bluetooth®, ZigBee®, wireless universal serial bus(WUSB), ultra-wideband (UWB) and IEEE 802.15.4 compliant technologies.

Other embodiments may include a device for ordering a list of discovereddevices in a wireless personal area network (WPAN). The devicecomprises: a processor; a display responsive to the processor; ashort-range communication subsystem coupled to the processor forenabling communication between the device and a plurality of otherdevices in the WPAN; and a memory storing program code executable by theprocessor. The program code comprises a WPAN management module which,when executed by the processor, causes the processor: to determine areceived signal strength of each of a plurality of wireless devicesignals received by the short-range communication subsystem fromrespective ones of the plurality of other devices and to cause thedisplay to display a list of the other devices. The other devices areordered in the list according to the received signal strength of thewireless device signal of the respective other device.

The processor may be configured to control the short-range communicationsubsystem to transmit a page signal to the other devices and theplurality of wireless device signals may be received in response to thepage signal. The page signal may be transmitted in response to selectionof an “add device” option displayed on the display.

WPAN management module may be further configured, when executed by theprocessor, to cause the processor to request a name of each other devicein the list in sequence from the top of the list to the bottom of thelist until the names of all of the other devices have been received oruntil a selection is made that cancels the request, wherein once thename of a respective other device is received, the name of the otherdevice is displayed in the list on the display. The device selection maycomprise selecting a named device in the list of devices. The WPANmanagement module may be further configured to initiate deviceconnection between the first device and the named device in response tothe selection.

The WPAN management module may further cause the processor to determinea device identifier and a device class of each of the other devicesbased on the respective wireless device signals received from the otherdevices. For devices in the list having a same received signal strength,such devices are ordered in the list according to the device class ofeach such device. The WPAN management module may cause an icon to bedisplayed on the display for each other device in the list, wherein theicon corresponds to the device class of the respective other device.

The device may be a mobile device or a personal computer. Acommunication technology of the WPAN may be selected from the groupconsisting of: Bluetooth®, ZigBee®, wireless universal serial bus(WUSB), ultra-wideband (UWB) and IEEE 802.15.4 compliant technologies.

Other embodiments relate to a computer readable storage storing programinstructions which, when executed by a processor, cause the processor toperform a method of ordering a list of discovered devices in a wirelesspersonal area network (WPAN). The method comprises: receiving at a firstdevice a plurality of wireless device signals from respective devices inthe WPAN; determining a received signal strength of each of the wirelessdevice signals; and displaying on a display of the first device a listof devices corresponding to the devices from which the wireless devicesignals were received, wherein the devices in the list are orderedaccording to the received signal strength of the wireless device signalof the respective device.

To aid the reader in understanding the general structure of the mobiledevice and how it communicates with other devices and host systems,reference is now made to FIGS. 1-3.

FIG. 1 is an illustrative block diagram of a mobile device 100communicating with other devices in a Wireless Personal Area Network(WPAN) environment. The other devices may include one or more of: apersonal computer (PC) 165, a smart card reader 170, one or morecomputer peripherals 175, a head set 180, a media device 185 and otherdevices 190.

The PC 165 may comprise a desktop computer or a laptop, for example.Computer peripherals 175 may include suitable wirelessly enabledperipherals, such as a mouse, keyboard, display and printer, forexample. The headset 180 may be a suitable audio device with an audiopick-up and speaker. Media device 185 may be a suitable device forcapturing and/or storing and/or displaying/outputting media such asaudio, video, image or text data. Examples of media device 185 mayinclude a digital camera and a digital music system. Other devices 190may include a variety of suitable wirelessly enabled devices havingdifferent functions or features for interacting with mobile device 100.For example, other devices 190 may include a universal serial bus (USB)adapter. More than one of any of devices 100 and 165 to 190 may bepresent within the WPAN environment.

In the block diagram depicted in FIG. 1, mobile device 100 and devices165 to 190 are all located within the WPAN area within range of mobiledevice 100. In the embodiments described herein, mobile device 100 isthe searching device and is configured to communicate wirelessly withany of the devices 165 to 190 using a wireless personal networktechnology supported by the devices. Examples of such wireless personalnetwork technologies include communication standards compliant with theIEEE 802.15.4 specifications and include Bluetooth®, ZigBee®, wirelessUSB (WUSB) and ultra-wideband (UWB) radio technologies. Other suitablewireless personal network technologies may be employed, as appropriate.

The typical communication range of a WPAN is about 10 metres from thesearching device, although some devices may be able to transmit athigher power and have a longer range, for example up to about 100metres.

Referring to FIG. 2, shown therein is a block diagram of an exemplaryembodiment of mobile device 100. The mobile device 100 includes a numberof components such as a main processor 102 that controls the overalloperation of the mobile device 100. Communication with a wide-area orlocal-area network, including data, and in alternative embodiments voicecommunication, are performed through a long-range communicationsubsystem 104. The long-range communication subsystem 104 can receivemessages from, and send messages to, an extended wireless network 200.In this exemplary embodiment of the mobile device 100, the communicationsubsystem 104 can be configured in accordance with the IEEE 802.11standard. Accordingly, the wireless link connecting the communicationsubsystem 104 with the wireless network 200 represents one or moredifferent Radio Frequency (RF) channels, operating according to definedprotocols specified for IEEE 802.11 communication. Those skilled in theart are familiar with various implementations of the extended wirelessnetwork 200.

The main processor 102 also interacts with additional subsystems such asa Random Access Memory (RAM) 106, a flash memory 108, a display 110, anauxiliary input/output (I/O) subsystem 112, a data port 114, a keyboard116, a speaker 118, a microphone 120, a short-range communicationsubsystem 122 and other device subsystems 114. The mobile device 100 canbe battery powered and include corresponding components such as one ormore batteries 130 and a battery interface 132, as is commonly known bythose skilled in the art.

Some of the subsystems of the mobile device 100 performcommunication-related functions, whereas other subsystems may provide“resident” or on-device functions. By way of example, the display 110and the keyboard 116 may be used for both communication-relatedfunctions, such as entering a text message for transmission over theextended wireless network 200, and device-resident functions such as acalculator or task list.

The auxiliary I/O subsystem 112 may include one or more components suchas: a touch screen, mouse, track ball, an infrared, capacitive oroptical fingerprint detector, or a multi-direction actuator (navigationcomponent), such as a track ball, joystick, directional pad or rollerwheel, with dynamic button pressing capability. The keyboard 116 ispreferably an alphanumeric keyboard and/or telephone-type keypad.However, other types of keyboards may also be used. The button pressingcapability of the multi-direction actuator may be used to effect aselection of an item highlighted or emphasized on display 110.

The mobile device 100 can send and receive communication signals overthe extended wireless network 200 after required network registration oractivation procedures have been completed. Network access is associatedwith a unique identifier for the mobile device 100, or a subscriber oruser of the mobile device 100 as is commonly known by those skilled inthe art such as using Subscriber Identity Module or Removable UserInterface Module. For strict IEEE 802.11 communication, this uniqueidentifier appears as the Medium Access Controller (MAC) address of theWLAN radio, and additional network handshaking involving securitycredentials may be required to ensure full communication with thewireless network 200, as is known by those skilled in the art.

The mobile device 100 is a battery-powered device. In at least someembodiments, the battery 130 can be a smart battery with an embeddedmicroprocessor. The battery interface 132 is coupled to a regulator (notshown), which assists the battery 130 in providing power V+ to themobile device 100. Although current technology makes use of a battery,future technologies such as micro fuel cells may provide the power tothe mobile device 100.

The mobile device 100 also includes an operating system along withsoftware programs for various applications that are executed by the mainprocessor 102. The operating system and software programs are stored ina persistent store such as the flash memory 108, which may be analternative form of read-only memory (ROM) or similar storage element(not shown). Portions of the operating system and other softwarecomponents, such as specific device applications, or parts thereof, maybe temporarily loaded into a volatile store such as RAM 106. Othersoftware components can also be stored in flash memory 108 to suit thefunctional requirements of mobile device 100. Such software componentsmay include, for example, a message application for sending andreceiving electronic messages, an address book, a personal informationmanager, a device state module and other suitable programs.

Additional software components can be loaded onto the mobile device 100through at least one of the extended wireless network 200, the auxiliaryI/O subsystem 112, the data port 114, the short-range communicationsubsystem 122, or any other suitable device subsystem 124. Thisflexibility in software application installation increases thefunctionality of the mobile device 100 and may provide enhancedon-device functions, communication-related functions, or both. Forexample, secure communication applications may enable electroniccommerce functions and other such financial transactions to be performedusing the mobile device 100.

The data port 114 enables a subscriber to set preferences through anexternal device or software application and extends the capabilities ofthe mobile device 100 by providing for information or software downloadsto the mobile device 100 other than through a wireless communicationnetwork. The alternate download path may, for example, be used to loadan encryption key onto the mobile device 100 through a direct and thusreliable and trusted connection to provide secure device communication.

The data port 114 can be any suitable port that enables datacommunication between the mobile device 100 and another computingdevice, The data port 114 can be a serial or a parallel port. In someinstances, the data port 114 can be a USB port that includes data linesfor data transfer and a supply line that can provide a charging currentto charge the battery (not shown) of the mobile device 100.

The short-range communication subsystem 122 provides for communicationbetween the mobile device 100 and different systems or devices within adesignated group such as a Personal Wireless Network 250, without theuse of the extended wireless network 200. For example, the PersonalWireless Network 250 may be embodied as a WPAN, In some cases, theshort-range subsystem 122 can include a Bluetooth® radio, a ZigBee®device, a Wireless USB device, or an Ultra-Wideband (UWB) radio, forexample. Examples of short-range communication standards include theInfrared Data Association (IrDA), Bluetooth®, ZigBee®, WUSB, UWB and theIEEE 802.15 standards.

Referring now to FIG. 3, a block diagram of an exemplary embodiment ofthe short-range communication subsystem component 122 is shown. Theshort-range communication subsystem 122 comprises a WPAN radio thatincludes a receiver 150, a transmitter 152, as well as associatedcomponents such as one or more embedded or internal antenna elements 154and 156, Local Oscillators (LOs) 158, and a processing module such as aDigital Signal Processor (DSP) 160. The particular design of theshort-range communication subsystem 122 is dependent upon the personalwireless network 250 with which the mobile device 100 is intended tooperate. Thus, it should be understood that the features andconfiguration of short-range communication subsystem 122 illustrated inFIG. 3 serve only as one possible example.

Signals received by the antenna 154 through the wireless network 250 areinput to the receiver 150, which may perform such common receiverfunctions as signal amplification, frequency down conversion, filtering,channel selection, and analog-to-digital (A/D) conversion. A/Dconversion of a received signal allows more complex communicationfunctions such as demodulation and decoding to be performed in the DSP160. In a similar manner, signals to be transmitted are processed,including modulation and encoding, by the DSP 160. These DSP-processedsignals are input to the transmitter 152 for digital-to-analog (D/A)conversion, frequency up conversion, filtering, amplification andtransmission over the wireless personal network 250 via the antenna 156.The DSP 160 can process communication signals, and can provide forreceiver and transmitter control. For example, the gains applied tocommunication signals in the receiver 150 and the transmitter 152 may beadaptively controlled through automatic gain control algorithmsimplemented in the DSP 160.

The wireless communication between the mobile device 100 and devices 165to 190 in the wireless personal network 250 may be performed over one ormore different channels, typically different RF channels. Knowncommunication protocols for WPANs are used for communication between themobile device 100 and devices 165 to 190 in the wireless personalnetwork 250. An RF channel is a limited resource that must be conserved,typically due to limits in overall bandwidth and limited battery powerof the mobile device 100.

When the mobile device 100 is fully operational, the transmitter 152 istypically keyed or turned on only when it is transmitting to thewireless personal network 250 and is otherwise turned off to conserveresources. Similarly, the receiver 150 is periodically turned off toconserve power until it is needed to receive signals or information (ifat all) during designated time periods.

Referring now to FIG. 4, certain components of mobile device 100 areshown and described in further detail. In particular, flash memory 108is shown comprising a WPAN management module 410 and a user interfacemodule 420, stored as executable program code. The functions of WPANmanagement module 410 and user interface module 420 are performed bymain processor 102 executing the relevant stored program code in flashmemory 108. Flash memory 108 comprises various other program code, suchas operating system software and other software applications, althoughthese are not specifically shown for purposes of simplicity ofillustration.

For purposes of illustration only, WPAN management module 410 isdescribed herein in the context of the Bluetooth® WPAN networktechnology as one example of a wireless personal network technology.WPAN management module 410 is an application that can be enabled ordisabled by a user according to options provided by user interfacemodule 420 on display 110. Once enabled, WPAN management module 410mostly runs in the background, automatically communicating with otherdevices in the WPAN area when within range, if mobile device 100 hasalready connected to (paired with) such devices. However, if the userwishes to enable mobile device 100 to communicate with a device withwhich it has not yet been paired, the user can select an “add device”option from within a WPAN management home screen 610 (FIG. 6) caused byuser interface module 420 to be displayed on display 110. The “adddevice” option may be available from a screen displaying a connected(paired) device list for devices with which mobile device 100 hasalready been paired.

If the user selects the “add device” option, mobile device 100 willcause short-range communication subsystem 122 to send out a page signalreceivable by other devices within the WPAN area. Once all devices inthe area respond to the page signal, they will be sorted according todescending RSSI value and displayed in a list 640 of discovered devices,such as is illustrated in FIG. 6.

Responses received from devices in the WPAN area in response to the pagesignal comprise the MAC address (which is a unique identifier of thedevice) and device class of the responding device. The WPAN managementmodule 410 also causes short-range communication subsystem 122 todetermine a received signal strength indication (RSSI) of each suchresponse and to provide all such information from the received responsesignals to the WPAN management module 410. By comparing the RSSI of eachwireless signal received from the respective devices in the WPAN area,WPAN management module 410 sorts and orders the list of discovereddevices according to the relative strength of the received signal (i.e.the RSSI value). Thus, devices within the WPAN area will be listed indiscovered device list 640 in descending order from highest RSSI tolowest RSSI.

On the assumption that a device having close proximity to the searchingdevice is more likely to be the one with which the user wishes to pairmobile device 100, ordering the discovered device list 640 by RSSIplaces those devices that are likely to be closest to mobile device 100at the top of discovered device list 640. Although RSSI is not a preciseindication of proximity, there is at least a good correlation betweenRSSI and proximity. Where devices within the WPAN area all have asimilar communication range, the RSSI of the received signal from suchdevices will generally be a reliable indication of proximity.

WPAN management module 410 also handles interfacing between the userinterface module 420 and the wireless communications framework of device100, including short-range communications subsystem 122. Additionally,WPAN management module 410 cooperates with user interface module 420 todisplay status information to the user and to interpret input receivedfrom the user in relation to graphical elements provided on display 110.FIGS. 6 and 7 show example screen shots of display 110 as generated byuser interface module 420 based on information and/or function callsreceived from WPAN management module 410. The functions of WPANmanagement module 410 and features thereof are described in furtherdetail below with reference to FIGS. 5 to 7.

The main processor 102, display 110, auxiliary I/O 112 and short rangecommunication subsystem 122 as shown in FIG. 4 have the same featuresand functions as described above in relation to FIG. 2 and FIG. 3. Userinput, including selection input and navigation input, may be receivedvia an appropriate component of auxiliary I/O 112.

Referring now to FIG. 5, there is shown a method 500 of ordering adiscovered device list. Method 500 begins at step 505, at which a userselects the option to add a device to the paired device list. The paireddevice list is saved in flash memory 108 or another persistent store andaccessible to WPAN management module 410. In response to selection ofthe “add device” option at step 505, main processor 102 causesshort-range communication subsystem 122 to transmit a general pagesignal to other devices in the WPAN area, at step 510. This page signalis a standard signal specified under the IEEE 802.15.4 standard.Essentially, the page signal is an invitation to each device in the areato respond and make its presence known to the searching device.

At step 515, mobile device 100 receives at the short-range communicationsubsystem 122 return signals from one or more of devices 165 to 190. Thereturn signals received in this respect will usually include informationabout the device that is responding to the page signal. Such informationwill usually include the MAC address and class of the device providingthe return signal. At step 520, WPAN management module 410 cooperateswith short-range communication subsystem 122 to determine the MACaddress and device class from each received return signal. Additionally,the short-range communication subsystem 122 measures the received signalstrength to determine the RSSI of each received return signal andprovides the RSSI value to WPAN management module 410.

As each return signal is received from the devices in the WPAN area,step 520 is performed to determine the MAC address, device class andRSSI of the return signal.

Steps 515 to 525 are performed in relation to each return signalreceived from one of devices 165 to 190 in response to the page signal.Thus, while mobile device 100 continues to receive return signals fromfurther devices at step 530, steps 515 to 525 are repeated for the newlyreceived return signals. Once WPAN management module 410 determines atstep 525 that no further return signals have been received, for exampleby waiting a predetermined time and then concluding that if a returnsignal is not received within that time, such a signal will not be sent.

At step 530, the devices from which a return signal was received aredisplayed as “discovered devices” in discovered device list 640 ondisplay 110. Prior to displaying the discovered device list 640, WPANmanagement module 410 sorts the devices in the list according to thereceived signal strength (i.e. RSI value) so that the device having thehighest received signal strength is listed at the top of the discovereddevice list 640 and the remaining devices are displayed in descendingorder of received signal strength.

Once the discovered device list 640 is displayed at step 530, then atstep 535, WPAN management module 410 instructs short-range communicationsystem 122 to transmit a request to each of the devices in thediscovered device list to provide the “friendly name” of the device, atstep 535.

In alternative embodiments, the discovered device list 640 may bedisplayed and updated as each return signal is received from adiscovered device, with the order of the list being re-sorted by WPANmanagement module 410, as necessary, to place each newly discovereddevice in the appropriate position in discovered device list 640.

In order for mobile device 100 to obtain the friendly name of anotherdevice, it is necessary to establish a connection with that device,which may take a few seconds for each device. Starting with the firstdevice in the discovered device list 640, WPAN management module 410causes short-range communication subsystem 122 to request the friendlyname of each device in the discovered device list. For a discovereddevice list having many devices, this can take some time. Thus, the usermay select one of the named devices for pairing prior to completion ofthe retrieval of all friendly names for all devices in the discovereddevice list, thereby interrupting friendly name retrieval without havingto wait for all names to be retrieved. Accordingly, if, at step 540, auser has selected one of the devices in discovered device list 640 forpairing, then at step 545, WPAN management module 410 initiates pairingwith the selected device. Simultaneously, WPAN management module 410stops instructing short-range communication subsystem 122 to retrieveany further friendly names of the remaining devices in the discovereddevice list 640.

If no user input is received to select a device for pairing at step 540,then at step 550, WPAN management module 410 checks whether any devicesin discovered device list 640 have not had their friendly namesretrieved. If all friendly names have been retrieved, then at step 555WPAN management module 410 stops requesting the friendly names. If, atstep 550, one or more unnamed devices (i.e. devices for which friendlynames have not been retrieved) remain in the discovered device list 640,then step 535 is repeated to obtain friendly names for such devices.Where a friendly name could not be retrieved from a device in discovereddevice list 640, a descriptor corresponding to the device class (e.g.“audio device” or “computer”) may be used as a substitute friendly namefor the relevant device.

In some embodiments, the friendly name of a device may be received withthe return signal at step 515. In such embodiments, the friendly name isdisplayed for each device in the discovered device list 640 at step 530.Further, in such embodiments, steps 535, 550 and 555 are not performedas they are unnecessary.

Referring now to FIGS. 6 and 7, example screen shots are shown, in whicha discovered device window 630 is shown, displaying discovered devicelist 640. FIGS. 6 and 7 show a WPAN management home screen 610 overwhich discovered device window 630 is displayed. WPAN management homescreen 610 comprises a title bar 615, which also indicates an enablementstatus of WPAN communications. In the examples shown, title bar 615reads “Bluetooth: enabled”. Also shown in WPAN management home screen610 is a paired device list 620, with one or more devices listed forwhich pairing with mobile device 100 has already been completed. In theexamples shown in FIGS. 6 and 7, paired device list 620 has nil items inthe list.

Discovered device window 630 is displayed in response to the selectionof the “add device” option, which can be selected as a menu item thatcan be generated while viewing the WPAN management home screen 610.Discovered device window 630 comprises instructional text 632 locatedtoward the top of the window 630 and above discovered device list 640.In the examples shown, the instructional text 632 is “select device:”.Discovered device window 630 also includes a “cancel” option 650 toenable the user to cancel addition of a device to the paired deviceslist 620, for example where the desired device is not shown in thediscovered device list 640.

In some embodiments (not shown), once the “add device” option isselected, but prior to display of the discovered device list 640,discovered device window 630 is displayed while the search fordiscoverable devices is performed. In such embodiments, discovereddevice window 630 shows a running count of the number of devicesdiscovered in the search and a progress bar that illustrates progressthrough a searching period of, say, 10 seconds. While the WPANmanagement module 410 compiles the discovered device list 640 (prior todisplaying it), instructional text 632 may be “searching for devices”.“Cancel” option 650 may also be selected prior to display of discovereddevice list 640 to cancel searching for discoverable devices. If soselected, the discovered device list 640 will be displayed with onlythose devices (if any) that were discovered prior to selection of“cancel” option 650. If no devices were discovered, the user may benotified of this and returned to the WPAN management home screen 610.

As shown in FIG. 6, discovered device list 640 comprises a first listitem 642, a second list item 644 and a third list item 646. Discovereddevice list 640 may have more or less than three list items, but threeare shown and described for illustration purposes. Each list item indiscovered device list 640 is displayed in a separate row acrossdiscovered device window 630 and comprises a descriptor, such as “audiodevice” or “computer”, corresponding to the class of the deviceindicated by the relevant list item. Each list item also comprises adescriptor device icon 672, 674 and 676 displayed adjacent to thedescriptor for each of the first, second and third list items 642, 644and 646. The device icon comprises a graphical representation of thedevice descriptor, as defined by the class of the device.

For the example shown in FIG. 6, first list item 642 shows a device icon672 that is a graphical depiction of an audio device and the descriptorfor first list item 642 is “audio device”. Second and third list items644 and 646 display the same device icon 674, 676 and the descriptor“computer” as they are both PC devices 165. As the discovered devicecorresponding to the first list item 642 has the highest RSSI value, itis displayed at the top of device list 640. In the example shown in FIG.6, the friendly names of the devices and discovered devices 640 have notyet been retrieved.

Referring also now to FIG. 7, discovered device list 640 is shown, whereat least some of the friendly names have been retrieved. Where thefriendly name of a device in discovered device list 640 has beenretrieved, the relevant list item is updated to replace the descriptorwith the retrieved friendly name. Thus, as shown in FIG. 7, the firstlist item 642 is now an updated list item 742 showing the sameclass-specific device icon 672 but showing “BlackBerry 655” as thefriendly name, in place of the previous descriptor “audio device”.Similarly, second list item 644 now becomes an updated second list item744 that includes the class-specific device icon 674 and the friendlyname “SWilson-XP” in place of the previous descriptor “computer”. In theexample shown in FIG. 7, third list item 646 has not yet had itsfriendly name retrieved, so it has not yet been updated.

In the example shown in FIG. 7, the device named “BlackBerry 655” hasthe highest RSSI value and is therefore placed at the top of discovereddevice list 640. Accordingly, that device had its friendly nameretrieved first, on the assumption that the RSSI value for that deviceindicated a close proximity to the searching device and that thereforethere is a greater likelihood that the user would wish to have mobiledevice 100 pair with that device.

As shown in FIGS. 6 and 7, first list item 642, 742 is shown by defaultas being emphasized relative to other list items as it is at the top ofdiscovered device list 640. In order to emphasize other list items, theuser can manipulate a navigation component of mobile device 100, such asmay be comprised in auxiliary I/O 112.

If discovered device list 640 were not ordered according to the receivedsignal strength of the discovered devices, devices that respond to thepage signal before the device that the user wishes to pair with mobiledevice 100 will appear higher on the discovered device list as it isordered according to the time of receipt of the response signal. Thismay mean that the user has to wait for a number of other devices to havetheir friendly names retrieved before the device with which the userwishes to pair mobile device 100 has its friendly name retrieved. Such await may be irritating to the user.

Although some embodiments are described herein as involving “pairing” ofmobile device 100 with a discovered device, such as one of devices 165to 190, according to Bluetooth specification, it should be understoodthat for other wireless personal network technologies, other forms ofdevice connection may be formed to allow such devices to communicatewith each other.

In this description, like reference numerals are used to indicate likefeatures or elements as between the drawings appended hereto.

While the above description provides examples of the embodimentscovered, it will be appreciated that some features and/or functions ofthe described embodiments are susceptible to modification withoutdeparting from the spirit and principals of operation of the describedembodiments. Accordingly, what has been described above is intended tobe illustrative of the invention and non-limiting.

1. A non-transitory computer readable medium storing programinstructions which, when executed by a processor, cause the processor toperform a method of ordering a list of discovered devices in a wirelesspersonal area network (WPAN), the processor configured to: receive aplurality of received signal strength indications corresponding towireless device signals received from devices in the WPAN; and display,on a user interface, a list of devices corresponding to the devices fromwhich the wireless device signals were received, the devices in the listbeing ordered according to the received signal strength indications ofthe devices.
 2. The computer readable medium of claim 1, wherein theprocessor is further configured to: upon receiving each received signalstrength indication, sort the list according to the received signalstrength indications.
 3. The computer readable medium of claim 2,wherein the processor is further configured to transmit a page signal,wherein the plurality of received signal strength indicationscorresponding to wireless device signals is received in response to thepage signal.
 4. The computer readable medium of claim 3, wherein thepage signal is transmitted in response to a selection to add a device toa connected device list.
 5. The computer readable medium of claim 1,wherein the processor is further configured to request a name of eachdevice in the list in sequence from the top of the list to the bottom ofthe list.
 6. The computer readable medium of claim 5, wherein theprocessor is further configured to wait a predetermined time prior torequesting the name of each device in the list.
 7. The computer readablemedium of claim 6, wherein requesting the name of each device comprisesdetermining whether any devices in the list do not have a device name,and requesting the name of devices in the list that do not have a devicename.
 8. The computer readable medium of claim 7, wherein a device classis substituted for the device name in the list, for each device forwhich a device name could not be retrieved.
 9. The computer readablemedium of claim 5, wherein the processor is further configured toreceive a selection of a device in the list of devices.
 10. The computerreadable medium of claim 9, wherein the processor is further configuredto initiate a device connection with the selected device in response tothe selection.
 11. The computer readable medium of claim 1, wherein theprocessor is further configured to receive a device identifier and adevice class for each of the devices in the WPAN based on the wirelessdevice signals.
 12. The computer readable medium of claim 11, whereindevices in the list having a same received signal strength indicationare ordered in the list according to the device class of each suchdevice.
 13. The computer readable medium of claim 12, wherein theprocessor is further configured to display an icon for each device inthe list, the icon corresponding to the device class of thecorresponding device.
 14. The computer readable medium of claim 1,wherein a communication technology of the WPAN is selected from thegroup consisting of: Bluetooth®, ZigBee®, wireless universal serial bus(WUSB), ultra-wideband (UWB), and IEEE 802.15.4 compliant technologies.15. A non-transitory computer readable medium storing programinstructions which, when executed by a processor, cause the processor toperform a method of ordering a list of discovered devices in a wirelesspersonal area network (WPAN), the processor configured to: for each of aplurality of wireless device signals received from respective devices inthe WPAN, determine a received signal strength of the wireless devicesignal; and display on a display a list of devices corresponding to thedevices from which the wireless device signals were received, thedevices in the list being ordered according to the received signalstrength of the wireless device signal of the respective device.
 16. Thecomputer readable medium of claim 15, wherein the plurality of wirelessdevice signals is received in response to a page signal.
 17. Thecomputer readable medium of claim 16, wherein the page signal istransmitted in response to a selection to add one of the plurality ofdevices to a connected device list.
 18. The computer readable medium ofclaim 15, wherein the processor is further configured to request a nameof each device in the list in sequence from the top of the list to thebottom of the list until all device names have been received for theplurality of the devices or until a selection is made that cancelsrequesting the device names, wherein once the name of a respectivedevice is received, the name of the device is displayed in the list onthe display.
 19. The computer readable medium of claim 18, wherein theselection comprises selecting a named device in the list of devices. 20.The computer readable medium of claim 19, wherein the processor isfurther configured to initiate a device connection with the named devicein response to the selection. 21-24. (canceled)